package com.tinem.platform.module.pojo.vo.pay;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author fzh
 * @version v1
 * @program: platform
 * @className OrderInfo
 * @description 订单信息
 * @site
 * @company
 * @create 2021-11-01 16:53
 */
@Data
public class OrderInfo {

    @ApiModelProperty(name = "id", value = "ID",required = true)
    private String id;

    @ApiModelProperty(name = "merchOrderOriId", value = "商户原始订单号;由商户网站生成,在商户网站后台查询该订单的订单号",required = true)
    private String merchOrderOriId;

    @ApiModelProperty(name = "payUserEmail", value = "支付用户联系邮箱",required = true)
    private String payUserEmail;

    @ApiModelProperty(name = "payUserPhoneCountry", value = "支付用户联系手机国家",required = true)
    private String payUserPhoneCountry;

    @ApiModelProperty(name = "payUserPhone", value = "支付用户联系手机",required = true)
    private String payUserPhone;

    @ApiModelProperty(name = "description", value = "订单描述",required = true)
    private String description;

    @ApiModelProperty(name = "orderType", value = "支付方式",required = true)
    private String orderType;

    @ApiModelProperty(name = "ifsUrl", value = "在内嵌支付iframe页面用到的css文件的url;(必须https)如果“order_type=3内嵌支付”，该字段可填；否则该字段为空。",required = true)
    private String ifsUrl;

    @ApiModelProperty(name = "merchOrderDate", value = "商户订单时间;格式：YYYYMMDDHHMMSS。例如：20180731235959",required = true)
    private Date merchOrderDate;

    @ApiModelProperty(name = "timeExpire", value = "交易结束时间",required = true)
    private Date timeExpire;

    @ApiModelProperty(name = "priceCurrency", value = "标价币种;具体支持的币种需要向销售确认",required = true)
    private String priceCurrency;

    @ApiModelProperty(name = "priceAmount", value = "标价金额;格式：保留两位小数的金额。例如：263.50",required = true)
    private Double priceAmount;

    @ApiModelProperty(name = "ip", value = "持卡人的IP地址",required = true)
    private String ip;

    @ApiModelProperty(name = "urlSync", value = "订单状态异步回调地址",required = true)
    private String urlSync;

    @ApiModelProperty(name = "urlSuccBack", value = "成功订单返回地址;待处理状态的订单也返回该网址",required = true)
    private String urlSuccBack;

    @ApiModelProperty(name = "urlFailBack", value = "失败订单返回地址",required = true)
    private String urlFailBack;

    @ApiModelProperty(name = "orderRemark", value = "订单备注;回传商户订单状态时，会包含该字段",required = true)
    private String orderRemark;

    @ApiModelProperty(name = "orderStatus", value = "订单支付状态",required = true)
    private Integer orderStatus;

    @ApiModelProperty(name = "revision", value = "乐观锁",required = false)
    private Integer revision;

    @ApiModelProperty(name = "createdBy", value = "创建人",required = false)
    private String createdBy;

    @ApiModelProperty(name = "createdTime", value = "创建时间",required = false)
    private Date createdTime;

    @ApiModelProperty(name = "updatedBy", value = "更新人",required = false)
    private String updatedBy;

    @ApiModelProperty(name = "updatedTime", value = "更新时间",required = false)
    private Date updatedTime;

    @ApiModelProperty(name = "orderPayInfoList", value = "订单支付记录",required = false)
    List<OrderPayInfo> orderPayInfoList;

}
